草庐IT

HTTP 消息结构

全部标签

http - Go http 客户端不会自动分解正文

我正在从Go流式传输http,服务器按预期响应“Transfer-Encoding:chunked”。我被告知Go中的http客户端会自动从http响应中分离主体,删除\r\n。但在我的例子中,它不会自动删除,所以我必须使用ChunkedReader来读取正文。知道为什么golang不自动分解我的body吗?编辑:这是http请求:vartransport=http.Transport{Proxy:nil,ExpectContinueTimeout:0,MaxResponseHeaderBytes:16384}varhttpClient=http.Client{Transport:&t

json - 在 http 响应中将任意字符串编码为 JSON

我有一个JSON字符串,我想将其编码为json到http响应中。这会在响应中返回一个字符串:str:="{\"key1\":{\"key2\":\"value1\",\"key3\":\"value2\"}}"err:=json.NewEncoder(w).Encode(str)我尝试先将字符串编码为JSON。这给了我另一串随机字节。str:="{\"key1\":{\"key2\":\"value1\",\"key3\":\"value2\"}}"js,_:=json.Marshal(str)err:=json.NewEncoder(w).Encode(js)

go - 如何在 Go 中使用 alert() 来显示消息框

在javascript中,如果我们想在浏览器中显示带有自定义消息的弹出消息框,我们可以使用alert("message")函数。如何在Go中实现? 最佳答案 我做了一个非常简单的包来做到这一点。还有其他包(如sqweek's)具有更多功能,但我只是在寻找一些简单的启动错误,不想添加编译时要求,如cgo、gtk等。使用gogetgithub.com/tawesoft/golib/v2下载它然后像这样使用它:packagemainimport"github.com/tawesoft/golib/v2/dialog"funcmain(){

datetime - 如何在不解析表行的情况下更改结构上的日期格式(如 "yyyy-mm-dd")?

我想更改EntryDate格式,例如在结构上格式化的yyyy-mm-dd,typeValuestruct{Iduint`json:”id”`EntryDatetime.time`json:”entry_date”`ProductIdint`json:"product_id"`Valuefloat64`json:”value”`}默认结果是这样的{Id:11,EntryDate:"2017-11-23T00:00:00Z",product_id:1,Value:932.3},如何在不解析代码的情况下更改结构上的EntryDate格式,如“yyyy-mm-dd”?

go - 结构初始化错误中的值太少

我收到错误消息,在clusters=append(clusters,Cluster{Point{rand.Float64()},[]Point{}})行的结构初始化程序中的值太少抛出错误的函数如下。funcinitClusters(kint)(clusters[]Cluster){rand.Seed(time.Now().UnixNano())fori:=0;i我把k=3,定义的簇结构是typeClusterstruct{CenterPointPoints[]Point}点也是一个结构体,定义为:typePointstruct{Xfloat64Yfloat64}有人可以帮忙吗?

go - 结构内的结构 slice/数组

请考虑这个代码片段:https://play.golang.org/p/JkMIRwshG5U我的Service结构包含:typeServicestruct{ServiceNamestringNodeCountintHeadNodeNodeHealthbool}我的节点结构有:typeNodestruct{NodeNamestringLastHeardintRoleboolHealthbool}假设我的服务有3个节点;我希望Service结构也有/保留一个节点列表。或者,由于这是Go,所以是一片结构,我如何在Service结构中表示它?(抱歉,如果这个问题仍然模棱两可!)

go - 如何验证客户端完成的 http 请求的任何登录?

我在Go中有一个HTTP服务器,当客户端尝试登录时,我必须验证凭据,作为返回,我想发送成功或失败。稍后如果有任何请求,我需要使用生成的tokenID对其进行身份验证,成功后我必须发送一个文件。我已经尝试过使用cookie进行上述操作。但是打开cookies选项卡时可以看到cookies值。所以我需要发送加密cookie。如果可能,请告诉我这样做的方法。 最佳答案 发送用户名和密码是一个响应,提供一个文件也是一个响应。您不能一次发送两个单独的响应。您可以发送一个对象作为响应,其中包含服务器中的用户名密码和文件的url。

go - HTTP : panic serving 127. 0.0.1:48286: EOF

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion这是我的代码(它是一个简单的golang网络服务器):packagemainimport("fmt""net/http""log""io""github.com/gorilla/mux""encoding/json""strconv""io/ioutil""os")var(Trace*log.Log

go - 即使在设置结构标签后也无法解析 TOML 文件

我使用以下方式安装了依赖项:gogetgithub.com/BurntSushi/toml我在与main.go相同的文件夹中创建了一个toml文件:.|--cloud.toml`--main.go云.toml[database]host="localhost"port=8086secure=falseusername="test"password="password"dbName="test"main.gopackagemainimport("fmt""github.com/BurntSushi/toml")typetomlConfigstruct{DBdbInfo}typedbInf

http - 第一次循环迭代后无效的内存地址或零指针取消引用

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭5年前。Improvethisquestion当我从GetCompanyFilingListRes返回(Amapslice)并打印输出时,我的代码在一次迭代中运行良好。但是在第二次迭代时,我得到了一个panic:runtimeerror:invalidmemoryaddressornilpointerdereference。packagemainimport("data/edgar""fmt""net/http")funcmain(){url